// pages/home/home.js
import { getBannerList, getNavListFn, getGoodsDetail, getGoodsList } from '../../api/home'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    value: '',
    bannerList: [],
    navList: getNavListFn(),
    goodsList: [],
    loading: false,//是否正在加载中
    finished: false,// 是否还有更多数据
    scrollTop: 0, // 滚动位置
    count: 1, // 当前页面
    refreshLoading: false, // 是否在刷新中
    detailList: [],
    iconName: 'list-switch',
    classType: 2,
    isHidden: true,
    isFold: false//展示卡片形态为左右
  },
  changeIconClick() {
    console.log('切换图标');
    this.setData({
      iconName: this.data.iconName == "list-switch" ? "bag-o" : "list-switch",
      isFold: !this.data.isFold

    })
  },
  //点击商品进入详情页
  gotoDetail(proid) {
    console.log(6666, proid.currentTarget.dataset.proid);//能拿到点击的商品
    const id = proid.currentTarget.dataset.proid
    console.log(id);
    getGoodsDetail({ proid: id }).then(res => {
      console.log(7, res.data);//拿到该proid的商品详情数据
    })
    wx.navigateTo({
      url: '/pages/detail/detail?proid=' + id,
    })

  },
  // 滚动事件
  // onPageScroll(event) {
  //    console.log('滚动了',event);
  //   this.setData({ 
  //     scrollTop: event.scrollTop
  //    });
  //   this.getGoodsFn()
  // },
  onPageScroll(event) {
    // console.log(21212, event.scrollTop);
    // 注意：请避免在 onPageScroll 中过于频繁的执行 setData 等引起逻辑层-渲染层通信的操作。尤其是每次传输大量数据，会影响通信耗时---按上面那种写法会导致 鼠标滚动事件停止的时候后台还在计算滚动距离不能实现秒停的效果，是因为过于频繁执行setData函数
    const flag = (event.scrollTop < 300 && this.data.isHidden) || (event.scrollTop > 300 && !this.data.isHidden)
    if (flag) return;
    if (event.scrollTop < 300) {
      this.setData({
        isHidden: true
      })
    } else {
      this.setData({
        isHidden: false
      })
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    //轮播图渲染
    getBannerList().then(res => {
      // console.log(res);
      this.setData({
        bannerList: res.data
      })
    })
    //商品列表数据渲染
    this.getGoodsFn()
  },
  //商品数据列表
  getGoodsFn() {
    getGoodsList({ count: 1, limitNum: 10 }).then(res => {
      console.log(res);
      this.setData({
        goodsList: res.data
      })
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  //下拉刷新
  onPullDownRefresh() {
    console.log('下拉刷新了');
    // this.setData({ refreshLoading: true });
    getGoodsList({ count: 1 }).then(res => {
      console.log(11, res);
      this.setData({
        goodsList:res.data
      })
    });
    wx.stopPullDownRefresh();
  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    getGoodsList({ count: this.data.count + 1 }).then(res => {
      // console.log(111111,res);
      if (res.data.length <= 0) {
        //没有数据了
        wx.showToast({
          title: '没有更多数据了···',
        })
      } else {
        this.setData({
          count: this.data.count + 1,
          goodsList: this.data.goodsList.concat(res.data),
        })
      }

    })
    // console.log(33,this.data.goodsList);
  },
  //回到顶部
  backTopClick() {
    console.log('回到顶部按钮点了');
    // this.setData({ 
    //   scrollTop: 0 
    // });
    wx.pageScrollTo({
      scrollTop: 0,
      duration: 300
    })
    // console.log(66, this.data.scrollTop);
  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})